package dp.gr03.payroll.transactionFactory;

import java.util.GregorianCalendar;

import dp.gr03.payroll.payrollApplication.Transaction;

public interface TransactionFactory
{
    public Transaction makeAddSalaryTransaction(int id, String name, String address, double salary);

    public Transaction makeAddHouryEmployee(int employeeId, String name, String address, double hourlyRate);

    public Transaction makeAddCommisionedTransaction(int id, String name, String address, double salary, double commissionRate);

    public Transaction makeDeleteEmployeeTransaction(int employeeId);

    public Transaction makePaydayTransaction(GregorianCalendar payDate);

    public Transaction makeTimecardTransaction(GregorianCalendar date, double hours, int empId);

    public Transaction makeSalesReceiptTransaction(int empID, GregorianCalendar date, double amount);

    public Transaction makeChangeHourlyTransaction(int empId, double hourlyRate);

    public Transaction makeChangeCommisionedTransaction(int empId, double commissionRate, double salary);

    public Transaction makeChangeSalariedTransaction(int empId, double salary);

    public Transaction makeChangeNameTransaction(int empId, String name);

    public Transaction makeChangeAddressTransaction(int empId, String address);

    public Transaction makeChangeMailTransaction(int empId, String address);

    public Transaction makeChangeDirectTransaction(int empId, String bank, String account);

    public Transaction makeChangeHoldTransaction(int empId);

    public Transaction makeChangeMemberTransaction(int empId, int memberId, double dues);

    public Transaction makeChangeUnaffiliatedTransaction(int empID);

}
